package List_etc.Exer.InputStuInfo;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.Scanner;

/**
 * @author Jimmy Zhan WORKSTATION
 * @date 2023/3/21 14:36
 * 说明：
 */

public class StudentManagementTest {
    public static void main(String[] args) {
        ArrayList arrayList = new ArrayList();
        System.out.println("Input stu info:");
        Scanner sc = new Scanner(System.in);

        while (true){
            System.out.println("1: input \t 0: exit");
            int selection = sc.nextInt();
            if (selection == 0){
                break;
            } else if (selection == 1){
                System.out.println("input name:");
                String name = sc.next();
                System.out.println("input age:");
                int age = sc.nextInt();

                Student stu = new Student();
                stu.setName(name);
                stu.setAge(age);

                arrayList.add(stu);
            } else {
                System.out.println("Input error");
            }
        }

        // 遍历集合元素信息 1
        System.out.println("students' info:");
        Iterator iterator = arrayList.iterator();
        while(iterator.hasNext()){
            System.out.print(iterator.next() + "\t");
        }
        // 遍历集合元素信息 2
        System.out.println("students' info2:");
        // 这里的each数据类型使用Object
        // 不能使用Student是因为ArrayList创建的时候没有使用<Student>泛型，所以编译器认为ArrayList中的元素是Object类型
        for (Object stu: arrayList) {
            // 但是stu事实上仍然是Student类实现的，因此调用的toString()也是在Student中重写的方法
            System.out.print(stu + "\t");
        }
        sc.close();
    }
}
